#include <stdio.h>

// define function
void swap(int &a, int &b) {
    int tmp = a;
    a       = b;
    b       = tmp;  
    return;
}

int main(int argc, char** argv){
    // int  a = 1;
    // int &b = a;  // b = 1
    // printf("%d, %d\n", a, b);  // a = 2, b = 1;

    // b = 2;       
    // printf("%d, %d\n", a, b);  // a = 2, b = 1;

    // int a   = 1
    // int &b  = a; ;
    // int &b  = a;  // reference
    // printf("%d, %d\n", a, b);  //  a = 1,  b = 2

    // // call function
    // swap(a, b); // real param
    // printf("%d, %d\n", a, b);  // a = 2, b = 1;
    // printf("pa = %p, pb = %p \n", &a, &b);

    // int arr[1*1024*1024*1024/4] = {0};
}